Semiconductor memory device, controller, and read/write control method thereof

ABSTRACT

A controller  102  and four flash memories F 0  to F 3  are connected by twos to two memory buses, and each flash memory is divided into two regions of substantially the same size to form a first half and a last half regions. In a four-memory configuration, a consecutive logical address specified by a host apparatus is divided into a predetermined size, and a write operation is performed in a format that repeatedly circulates through F 0 , F 1 , F 2 , F 3  in this order. In a two-memory configuration, the write operation is performed in a format that repeatedly circulates through F 00 , F 10 , F 01 , F 11 . Thus, a controller processing is made common regardless of the number of flash memories connected to the controller.

TECHNICAL FIELD

The present invention relates to a semiconductor memory device using anonvolatile memory (flash memory) as a semiconductor memory, acontroller, and a read/write control method thereof.

BACKGROUND ART

Among the semiconductor memory devices, a memory card such as an SDmemory card (registered trademark) and a compact flash (registeredtrademark) has a feature of being small in size. The memory card is inpractical use as a removable memory device of portable equipments suchas a digital still camera utilizing the small-sized feature.

The memory card being in practical use has therein a nonvolatile memory(flash memory) and a controller LSI serving as a control circuitthereof. Recently, needs for large-capacity and fast writing on thememory card are increasing. Thus, the memory card is subjected to thefollowing improvement: a nonvolatile memory of a plurality of chips iscontained therein and a nonvolatile memory and a controller LSI areconnected to each other via a plurality of memory buses, e.g., twomemory buses, so that a write operation is performed in parallel. JP-A06-119128 (1994) discloses one example of the above technique.

However, in the conventional semiconductor memory device, simplychanging the mounting number of nonvolatile memories to be comprised inthe memory card is not sufficient for actualizing various capacity ofmemory card of, for example, 256 MB or 512 MB. In other words, therearises a need for switching an address managing process of an internalpart of the controller LSI in accordance with the mounting number ofnonvolatile memories. Thus, there arise disadvantages that the internalprocess becomes complicating and that the cost of the controller LSIincreases by introducing such mechanism.

In order to solve the above disadvantages, the present invention aims toachieve a controller LSI (hereinafter, simply referred to as acontroller) that can be controlled in the same process even in the caseof changing the number of nonvolatile memories to be comprised. That is,the present invention aims to accomplish enhancement in versatility ofthe controller and, as a result, lower the cost of the semiconductormemory device. Specifically, the present invention is based oncontrolling two nonvolatile memories (flash memories) (four in total)through two buses, respectively. Further, the present invention aims toactualize controller that simplifies an address managing process of thecontroller, thereby commonly controlling one nonvolatile memory (two intotal) through two buses, respectively.

DISCLOSURE OF INVENTION

A semiconductor memory device and a controller of a nonvolatile memoryaccording to the present invention have a feature of controlling aread/write operation for a plurality of nonvolatile memories through afirst memory bus and a second memory bus in accordance with a read/writecommand from a host apparatus.

The following case is referred to as a two-memory configuration: anonvolatile memory F0 is connected to the first memory bus and anonvolatile memory F1 is connected to the second memory bus. Thefollowing case is referred to as a four-memory configuration: twononvolatile memories F0, F2 are connected to the first memory bus andtwo nonvolatile memories F1, F3 are connected to the second memory bus.The present invention allows the selection of two types of memoryconfiguration. When dividing each of the nonvolatile memory into tworegions of substantially the same size to form a first half region and alast half region, a sequential number conversion means for converting aconsecutive logical address specified by the host apparatus to a logicsequential number of a predetermined size is arranged, and a modulonumber generation section for generating a logic sequential modulonumber of system of residues of 4 that repeatedly takes the values of 0to 3 with respect to the logic sequential number are provided in thecontroller. When a write command is made from the host apparatus to theconsecutive logical address, a data write operation is performed in aformat that repeatedly circulates through F0, F1, F2, F3 in case of thefour-memory configuration, and the data write operation is performed ina format that repeatedly circulates through the first half region of F0,the first half region of F1, the last half region F0, and the last halfregion F1 in case of the two-memory configuration based on thesequential modulo number.

According to such a configuration, based on a fact that the basicarchitecture (address managing process) of the controller controls thefour-flash memory configuration, each of the memory is divided into tworegions in case of the two-flash memory configuration to controlvirtually as a four-flash memory configuration, and thus the addressmanaging process of the two-memory configuration can be shared with onearchitecture. In other words, since the address managing process doesnot need to be individually provided for when the nonvolatile memory(flash memory) is four or two, the cost of the controller as well as thesemiconductor memory device is reduced.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing an entire configuration of asemiconductor memory device including a controller according to anembodiment of the present invention.

FIG. 2 is a configuration diagram of F0 when a flash memory used in thesemiconductor memory device is a four-flash memory connection.

FIG. 3 is a configuration diagram of F0 when a flash memory used in thesemiconductor memory device is a two-flash memory connection.

FIG. 4 is a schematic diagram showing a configuration of a block in thesemiconductor memory device.

FIG. 5 is a schematic diagram showing a configuration example of alogical address format in the semiconductor memory device.

FIG. 6 is a schematic diagram showing a write sequence of thesemiconductor memory device.

BEST MODE FOR CARRYING OUT THE INVENTION

A semiconductor memory device and a controller thereof according to anembodiment of the present invention will now be described using thedrawings. FIG. 1 is a block diagram showing a configuration of thesemiconductor memory device according to this embodiment. Thesemiconductor memory device includes a controller 102 and a plurality offlash memories 103 to 106. Herein, each of the flash memories 103, 104,105, 106 are sometimes referred to as F0, F1, F2, F3.

The controller 102 converts a logical address into a physical addresswith respect to a consecutive logical address column transferred inaccordance with a data write command or a read command from a hostapparatus 101 and performs a data write operation or a data readoperation for the four flash memories 103, 104, 105, 106 or the twoflash memories 103, 104. Herein, the flash memories 105, 106 are shownwith a broken line, indicating that they can be omitted when thenonvolatile memory is a two-flash memory configuration.

Each of the flash memories 103, 104, 105, 106 is independently selectedby chip enable signals CE0, CE1, CE2, CE3. Further, the controller 102and the flash memories 103 to 107 are connected using two memory buses,where the flash memories 103, 105 are connected to the memory bus of busnumber 0, and the flash memories 104, 106 are connected to the memorybus of bus number 1.

The controller 102 controls the data write operation or the data readoperation for the nonvolatile memory, but functionally includes aselection section 102 a, a sequential number conversion section (SNconversion section) 102 b, a modulo number generation section (MNgeneration section) 102 c, and read/write control section (W/R controlsection) 102 d.

The selection section 102 a determines whether the flash memory is atwo-memory configuration or a four-memory configuration, and selectseither one. Specifically, in the initialization process immediatelyafter power start up, the selection section 102 a checks whether eachterminal for sending the chip enable signals CE0, CE1, CE2, CE3 at thecontroller 102 is connected to the flash memory or not, that is, whetheropened or not, to determine the number of the mounted flash memory. TheSN conversion section 102 b converts a logical address specified by thehost apparatus 101 to a logic sequential number for every predeterminedsize. The MN generation section 102 c generates a logic sequentialmodulo number constituting a system of residues of 4 that repeats thevalues of 0 to 3 with respect to the logic sequential number. The W/Rcontrol section 102 d, based on the logic sequential modulo number,performs a data write operation in a format that selectively andrepeatedly circulates through F0, F1, F2, F3 in the four-memoryconfiguration, and performs the data write operation in a format thatselectively and repeatedly circulates through the first half region ofF0, the first half region of F1, the last half region of F0, and thelast half region of F1 in the two-memory configuration, when the datawrite operation for a consecutive logical address is commanded from thehost apparatus 101. Further, the W/R control section 102 d reads thedata requested for access in accordance with the memory configuration.The controller 102 with such functions specifically includes amicrocomputer, RAM and the like, and is configured by the peripheraldevices, software and the like.

FIGS. 2 and 3 show an internal configuration of one flash memory. 201shown in FIG. 2 is a frame format of the flash memory 103 in thefour-flash memory configuration. On the other hand, 202 shown in FIG. 3is a frame format of the flash memory 103 in the two-flash memoryconfiguration. Other flash memories, that is, the flash memories 104,105, 106 also have a configuration similar to the flash memory 103 inthe four-flash memory configuration. In the two-flash memoryconfiguration, the flash memory 104 also has a configuration similar tothe flash memory 103.

The flash memory in the four-memory configuration is divided into tworegions, that is, into unit numbers 0 and 1 and controlled. The flashmemory in the two-memory configuration is divided into two virtual flashmemories, that is, memory F00 and F01 and controlled. Each flash memoryis handled by being divided into a plurality of block (BL) units asshown in the figure.

FIG. 4 is an internal configuration diagram of a block acting as anerase unit which corresponds to each block (BL) shown in FIGS. 2 and 3.The data write unit is one page (2 KB). Each page consists of foursectors, that is, sectors 0 to 3. Each sector has a capacity of 512 B.One block consists of 128 pages (pages 0 to 127). Here, the managingregion of each sector and each page is omitted for the sake ofsimplifying the explanation.

FIG. 5 is an explanatory diagram showing a logical address format. Asshown in FIG. 5, the logical address format includes a unit No. of onebit, a logical block No. of a predetermined number of bits, a page No.of seven bits, a pair No. of one bit, a bus No. of one bit, and a sectorNo. of two bits.

The sector No. is represented as bits for selecting one of the sectors 0to 3 shown in FIG. 4. The bus No. is a bit for selecting one of the twomemory buses as shown in FIG. 1. The pair No. is a bit for selecting thecombination of flash memories. In the four-memory configuration,selection is made either a pair of flash memories 103, 104 or a pair offlash memories 105, 106. In the two-memory configuration, selection ismade either a pair of first half regions (F00, F10 shown in FIG. 1) ofthe flash memories 103, 104, or a pair of last half regions (F01, F11shown in FIG. 1) of the flash memories 103, 104. For instance, when thevalue of the pair No. is 0, an access is made to the group of flashmemories 103, 104 in the four-memory configuration. In the two-memoryconfiguration, an access is made to the group of each of the first halfregions (F00, F10) of the flash memories 103, 104. On the other hand,when the value of the pair No. is 1, an access is made to the group offlash memories 105, 106 in the four-memory configuration. In thetwo-memory configuration, an access is made to the group of each of thelast half regions (F01, F11) of the flash memories 103, 104.

The page No. is represented as bits for selecting only one of the totalnumber of pages (128 pages) per one block shown in FIG. 4. The logicblock No. is a region of a half of each flash memory, that is, a logicblock No. per unit No. 0 or unit No. 1 in 201 of FIG. 2 or a logic blocknumber per F00 or F01 in 202 of FIG. 3, and consists of a predeterminednumber of bits. The logic block No. is converted into the physical blockNo. by a logical-physical address conversion table in the controller 102and then the selection of the block is performed. The logical-physicaladdress conversion table is a table used in converting the logicaladdress to the physical address based on a predetermined rule.

The unit No. is represented as a bit used in the four-memoryconfiguration, and is a bit for selecting the first half and the lasthalf of the flash memory, as shown in 201 of FIG. 2. With the two bitsof the pair No. and the bus No., one of the four flash memories 103 to106 can be specified in the four-memory configuration, and one of thefour virtual flash memories of F00, F01, F10, F11 can be specified inthe two-memory configuration.

The above-mentioned logical address format is merely one example, andthe number of bits or the array may, needless to say, be changeddepending on the configuration or the architecture of the flash memory.

FIG. 6 is a timing chart showing to which flash memory (or region) thedata is to be written in accordance with the consecutive logical addresscolumn (hereinafter, referred to as the logic sequential No.)transferred in response to the data write command from the hostapparatus 101.

The operation of the semiconductor memory device according to thisembodiment will now be explained focusing around FIG. 6. In (1) of FIG.6, the logic sequential No. (L.S.No.) is transferred from the hostapparatus 101 to the controller 102 with the data write command. Thelogic sequential No. is in numerical order for every 2 KB (correspondingto the page size acting as the write unit), which the number isincremented so that the bit of the bus No. in the logical address formatshown in FIG. 5 is in the increment position. The controller 102performs the data write operation for each flash memory whileincrementing the bit position as the starting point in page units.

The logic sequential No. is converted into the system of residuals of 4that takes the value of 0 to 3 as shown in (2) of FIG. 6, or only thelower 2 bits are retrieved and provided for the selection of the flashmemory as the logic sequential modulo No. (L.S.M.No.). That is, the pairNo. and the bus No. are incremented so as to be 0, 1, 2, 3 in which 4refers to 0, 5 refers to 1, or 00, 01, 10, 11 in 2 bit representation.In FIG. 6, the flash memories 103, 104, 105 and 106 are represented asF0, F1, F2 and F3, respectively.

Therefore, in the four-flash memory configuration (4 FM), the pair No.takes the value 0 in the flash memories F0, F1; thus, the write order,as shown in (3) of FIG. 6, is repeated by rotation of F0, F1, F2, andF3. On the other hand, in the two-flash memory configuration (2 FM), thepair No. takes the value 0 when using the first half region F00 of theflash memory F0 or the first half region F10 of the flash memory F1;thus, the write order, as shown in (4) of FIG. 6, is repeated byrotation of F00, F10, F01, and F11. Herein, the start of the data writeoperation may be other than from F0 or F00. By dividing the flash memoryinto two logic regions that are substantially equal and simply changingthe definition of pair No., the write address management of thefour-flash memory configuration or the two-flash memory configurationcan be performed using the same address process, that is, the logicaladdress format shown in FIG. 5.

In this embodiment, the logical address range is divided into two withrespect to the entire region of one flash memory, but for example, maybe divided into eight regions of regions 0 to 7, where the first halfregions 0 to 3, and the last half regions 4 to 7 are grouped so that thepair No. becomes 0 and 1, respectively.

INDUSTRIAL APPLICABILITY

The semiconductor memory device according to the present invention isvery effective in changing the card capacity by changing the number ofnonvolatile memory to be contained in particular in a large capacitynonvolatile memory (flash memory), that is, in memory card and the likein which it is more rational to divide and manage the region since thenumber of blocks is great. Further, the controller of the presentinvention accomplishes the function of the semiconductor memory devicewith an arbitrary capacity by being added to the memory module in whichthe nonvolatile memory of a plurality of chips is contained.

1. A semiconductor memory device comprising a plurality of nonvolatilememories and a controller which controls read/write operations for saidplurality of nonvolatile memories through a first memory bus and asecond memory bus in accordance with read/write commands from a hostapparatus, wherein when a case where a nonvolatile memory F0 isconnected to said first memory bus and a nonvolatile memory F1 isconnected to said second memory bus is referred to as a two-memoryconfiguration and a case where two nonvolatile memories F0, F2 areconnected to said first memory bus and two nonvolatile memories F1, F3are connected to said second memory bus is referred to as a four-memoryconfiguration, said controller comprises: a selection section whichselects one of said two-memory configuration and said four-memoryconfiguration; a sequential number conversion section which divides eachnonvolatile memory into two regions to form a first half region and lasthalf region, and converts a consecutive logical address specified bysaid host apparatus to a logic sequential number of a predeterminedsize; a modulo number generation section which generates a logicsequential modulo number of system of residues of 4 with respect to saidlogic sequential number; and a write control section which performs awrite operation in a format that selectively and repeatedly circulatesthrough the nonvolatile memories F0, F1, F2, F3 in case of saidfour-memory configuration and performs the write operation in a formatthat selectively and repeatedly circulates through the first half regionof F0, the first half region of F1, the last half region F0, and thelast half region F1 in case of said two-memory configuration based onsaid sequential modulo number when the write command to the consecutivelogical address is made from said host apparatus.
 2. The semiconductormemory device according to claim 1, wherein said nonvolatile memory isdivided into at least two logical address ranges, and a logical-physicaladdress conversion table is further included for converting the logicaladdress to a physical address for every logical address range.
 3. Acontroller for controlling read/write operation for a plurality ofnonvolatile memories through a first memory bus and a second memory busin accordance with a read/write command from a host apparatus, wherein,when a case where a nonvolatile memory F0 is connected to said firstmemory bus and a nonvolatile memory F1 is connected to said secondmemory bus is referred to as a two-memory configuration and a case wheretwo nonvolatile memories F0, F2 are connected to said first memory busand two nonvolatile memories F1, F3 are connected to said second memorybus is referred to as a four-memory configuration, said controllercomprises: a selection section which selects one of said two-memoryconfiguration and said four-memory configuration; a sequential numberconversion section which divides each nonvolatile memory into tworegions to form a first half region and last half region, and converts aconsecutive logical address specified by said host apparatus to a logicsequential number of a predetermined size; a modulo number generationsection which generates a logic sequential modulo number of system ofresidues of 4 with respect to said logic sequential number; and a writecontrol section which performs a write operation in a format thatselectively and repeatedly circulates through the nonvolatile memoriesF0, F1, F2, F3 in case of said four-memory configuration and performsthe write operation in a format that selectively and repeatedlycirculates through the first half region of F0, the first half region ofF1, the last half region F0, and the last half region F1 in case of saidtwo-memory configuration based on said sequential modulo number when thewrite command to the consecutive logical address is made from said hostapparatus.
 4. A method of controlling a semiconductor memory whichcontrols read/write operations for a plurality of nonvolatile memoriesthrough a first memory bus and/or a second memory bus in accordance witha read/write command from a host apparatus, wherein when a case where anonvolatile memory F0 is connected to said first memory bus and anonvolatile memory F1 is connected to said second memory bus is referredto as a two-memory configuration and a case where two nonvolatilememories F0, F2 are connected to said first memory bus and twononvolatile memories F1, F3 are connected to said second memory bus isreferred to as a four-memory configuration, the method comprises thesteps of: selecting one of said two-memory configuration and saidfour-memory configuration; dividing each nonvolatile memory into tworegions to form a first half region and last half region, and convertinga consecutive logical address specified by said host apparatus to alogic sequential number of a predetermined size; generating a logicsequential modulo number of system of residues of 4 with respect to saidlogic sequential number; and performing a write operation in a formatthat selectively and repeatedly circulates through the nonvolatilememories F0, F1, F2, F3 in case of said four-memory configuration andperforming the write operation in a format that selectively andrepeatedly circulates through the first half region of F0, the firsthalf region of F1, the last half region F0, and the last half region F1in case of said two-memory configuration based on said sequential modulonumber when the write command to the consecutive logical address is madefrom said host apparatus.